#define GET_JPGS 0x0001
#define GET_GIFS 0x0010
#define GET_PNGS 0x0100
#define GET_BMPS 0x1000

#ifndef CH_HELPSTRING
#define CH_HELPSTRING

char ch_helpstring[] = "--------------------\nUsage: imageChandra [options] file1 file2 file3 ...\n\nOptions:\n-o <output directory> output files to specified directory (default is $PWD)\n-j extract JPEGs (default is -jgpb)\n-g extract GIFs\n-p extract PNGs\n-b extract BMPs\n-c count the possible images, but DO NOT extract them.\n-h this help text\n\nAdvanced Options:\n-s Strong (hardcore) extraction/scan\n(WARNING, extraction may produce a LARGE number of images and is slow)\n--------------------\n";

#endif


#ifndef CH_FILEINFO
#define CH_FILEINFO

struct ch_fileinfo {
	char filename[512];
	/*
	 Not 100% sure how this is going to work yet...
	 These elements should be used for locating the headers and footers byte-location
	 in the file, these values are then used for extraction.
	*/
	int *jpg_header_markers, // filled by ch_scan()
		*gif_header_markers,
		*png_header_markers,
		*bmp_header_markers;
	
	int *jpg_footer_markers, // filled by ch_scan()
		*gif_footer_markers,
		*png_footer_markers,
		*bmp_footer_markers;
	
	int jpg_headers, // filled by ch_scan()
		gif_headers,
		png_headers;
	
	int jpg_footers, // filled by ch_scan()
		gif_footers,
		png_footers;

	int extracted_jpgs, // filed by ch_extract()
		extracted_gifs,
		extracted_pngs,
		extracted_bmps;
	
	int likely_jpgs, // filled by ch_extract()
		likely_gifs,
		likely_pngs,
		likely_bmps;
	
	int possible_jpgs, // filled by ch_scan()
		possible_gifs,
		possible_pngs,
		possible_bmps,
		possible_images;

	char scanned_for_jpgs, // filled by ch_scan()
		scanned_for_gifs,
		scanned_for_pngs,
		scanned_for_bmps;

	char could_find_file; // filled by ch_scan()
	int image_count; // filled by ch_scan()
};

#endif